package com.ai.flight.business.record;

import java.time.LocalDate;

import com.ai.flight.business.data.BookingStatus;
import com.fasterxml.jackson.annotation.JsonInclude;

/**
 * @Author: suren@517na.com
 * @CreateTime: 2025-06-02
 * @Description: 航班预定的不可变载体
 */
public class FlightBooking {

    public record BookingDetailsRequest(String bookingNumber, String name) {
    }

    public record ChangeBookingDatesRequest(String bookingNumber, String name, String date, String from, String to) {
    }

    public record CancelBookingRequest(String bookingNumber, String name) {
    }

    @JsonInclude(JsonInclude.Include.NON_NULL)
    public record BookingDetails(String bookingNumber, String name, LocalDate date, BookingStatus bookingStatus,
                                 String from, String to, String bookingClass) {
    }
}
